from PIL import Image
from image_utils import logging

from PIL import Image


def crop_image(image, crop_region):
    """裁剪图像
    :param
    image: 输入图像，PIL.Image对象
    :param
    crop_region: 裁剪区域, 格式为(上, 下, 左, 右)
    :return: 裁剪后的图像
    """
    try:
        # 从crop_region中提取上、下、左、右的坐标
        top, bottom, left, right = crop_region

        # 确保image是一个PIL图像对象
        if not isinstance(image, Image.Image):
            raise ValueError("传入的image不是PIL图像对象")

        # 使用PIL的crop方法来裁剪图像
        # 注意：PIL的crop方法接受的坐标是(左, 上, 右, 下)
        cropped_image = image.crop((left, top, right, bottom))

        return cropped_image

    except Exception as e:
        raise ValueError(f"Error occurred while cropping image: {e}")